tr (Unix)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

tr ist ein Unix-Kommando, dessen Name eine Abkürzung für translate (deutsch: übersetzen) ist, das bestimmte Zeichen aus einem Datenstrom ersetzt oder entfernt.

Das Werkzeug liest den Datenstrom der Standardeingabe, schreibt auf die Standardausgabe und benötigt je nach Modus ein (Löschen und Komprimieren) oder zwei (Ersetzen) Argumente.

Sollen Zeichen ersetzt werden, werden zwei Argumente benötigt, zuerst die zu ersetzenden Zeichen, im zweiten die neuen.

Beispiel:

jimbo@thinkpad:~$ echo Meyer | tr y i
Meier

Es sind mehrfache Ersetzungen einzelner Zeichen auf einmal möglich. Z. B. ersetzt

tr 'abcd' 'jkmn'

alle vorkommenden a durch j, b durch k usw.

Im Alphabet aufeinanderfolgende Zeichen lassen sich dabei mit einem Bindestrich angeben:

tr 'a-d' 'jkmn'

Mit dem Operator s werden alle hintereinander folgenden identischen Zeichen durch ein einzelnes ersetzt. Beispiel:

jimbo@thinkpad:~ echo muuuuh | tr -s u
muh

Der Operand d löscht alle im ersten Argument angegebenen Zeichen

tr -d '\r'

wobei \r für ein Carriage Return (Bytewert 13) steht. Mit diesem Befehl wird dieses unter Unix nicht verwendete Umbruchzeichen ersatzlos entfernt.

Ist ein c angegeben, so gilt die Umkehrung, also hier

tr -cd '[:alnum:]'

wobei der Ausdruck [:alnum:] für alle alphanumerischen Zeichen steht. Somit werden alle nicht alphanumerischen Zeichen entfernt.